package com.wskj.pay;

import com.wskj.common.core.domain.AjaxResult;

import java.util.Map;


/**
 * @author gun
 * @date 2023/4/11
 */
public interface IAliService {

    /**
     * 支付宝预支付
     * @param moneys     支付金额 带小数点
     * @param classify   类型 1 app  其他：h5
     * @param userId     用户id
     * @param outTradeNo 单号
     * @param attach 业务类型 1：商品订单 2：邀约订单 3：充值 4：购买会员
     * @return
     * @throws Exception
     */
     AjaxResult pay(Double moneys, Integer classify, Long userId, String outTradeNo,String attach);

    /**
     * 回调
     * @param params
     * @return
     */
    String payBack(Map<String,String> params);

    /**
     * 退款
     * @param outTradeNo 系统内交易号
     * @param inTradeNo 三方交易号
     * @param inTradeNo 退款金额
     * @return
     */
    Boolean refund(String outTradeNo,String inTradeNo, Double moneys);

}